/**
 * 值交换
 * @param {*} A 
 * @param {*} i 
 * @param {*} j 
 */
function swap(A, i ,j){
    const t = A[i];
    A[i] = A[j];
    A[j] = t;

}
/**
 * 冒泡排序  
 * @param {*} A 
 */
function bubble_sort(A) {
    // 最后的总是先排好顺序，所以外层从最后开始
    for (let i = A.length - 1; i >= 1; i--) {
        for (let j = 1; j <= i; j++) {
            // 当前值和前一个比较，如果前一个比当前值大，做交换
            A[j - 1] > A[j] && swap(A, j - 1, j)
        }
    }
}